#ifndef NODOXML_H_
#define NODOXML_H_
#pragma warning(disable: 4786)

#undef NULL
#define NULL 0


#include <string>
#include <vector>
#include <utility>
#include "Log4Cpp.h"
#include "Utilidades.h"
#include <algorithm>

using namespace std;

typedef pair<string,string> atributo;

class NodoXML{
	private:
		vector<NodoXML> children;
		vector<atributo> attributes;

    public:

		string nombre;
		
		NodoXML();
		NodoXML(string nombre){this->nombre = nombre;}

		void addChild(NodoXML nodo);
		void addAttribute(string clave, string valor="");
		string getAttribute(string attribute);
		int getAttributeNum(string attribute);
		vector<NodoXML> getChildrenList(string name="");
		string getRoot();        

		string serialize();
};

#endif NODOXML_H_


